// pages/admin/request/index.js - 用户注册请求页面
import { Serve, STATUS } from '../../../utils/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    requests: []
  },

  // "驳回"按钮方法
  async reject(event) {
    // 驳回状态码为2
    const status = 2
    const { requests } = this.data
    const { id, stat } = event.currentTarget.dataset
    // 修改对应请求项
    const index = requests.findIndex(i => i._id === id)
    requests[index].status = 2
    requests[index].status_class = STATUS[2].CLASS
    requests[index].status_icon = STATUS[2].ICON
    requests[index].status_text = STATUS[2].TEXT
    // 按钮disabled功能
    if (stat > 0) {
      return 0
    }
    wx.showLoading({ title: '驳回请求', mask: true })
    await wx.cloud.callFunction({
      name: 'update_request',
      data: { id, status }
    })
    wx.showToast({ title: '成功', icon: 'success', mask: true })
    this.setData({ requests })
  },
  async pass(event) {
    // 通过状态码为1
    const status = 1
    const { requests } = this.data
    const { id, stat } = event.currentTarget.dataset
    // 修改对应请求项
    const index = requests.findIndex(i => i._id === id)
    requests[index].status = 1
    requests[index].status_class = STATUS[1].CLASS
    requests[index].status_icon = STATUS[1].ICON
    requests[index].status_text = STATUS[1].TEXT
    // 按钮disabled功能
    if (stat > 0) {
      return 0
    }
    wx.showLoading({ title: '通过请求', mask: true })
    await wx.cloud.callFunction({
      name: 'update_request',
      data: { id, status }
    })
    wx.showToast({ title: '成功', icon: 'success', mask: true })
    this.setData({ requests })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    wx.showLoading({ title: '获取注册请求', mask: true })
    const _this = this
    Serve.GetRequests().then(res => {
      const requests = res.map(item => {
        const index = item.status
        item.status_class = STATUS[index].CLASS
        item.status_icon = STATUS[index].ICON
        item.status_text = STATUS[index].TEXT
        return item
      })
      _this.setData({ requests })
      wx.hideLoading()
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})